package datatypes;

public class DiscoveryMechanismMapper {

	public static String getRoutingProtocol (DiscoveryMechanismEnum discMech){
		String routingProtocol = "FloodingRequestRouting";
		switch (discMech){
		case DistributedKnowledge30:
			routingProtocol = "StandardRoutingProtocol";
			break;
		case DistributedKnowledge50:
			routingProtocol = "StandardRoutingProtocol";
			break;
		case FloodingPublish:
			routingProtocol = "FloodingPublishRouting";
			break;
		case FloodingRequest:
			routingProtocol = "FloodingRequestRouting";
			break;
		case Gnutella:
			routingProtocol = "GnutellaRouting";
			break;
		case GnutellaStandardRouting:
			routingProtocol = "StandardRoutingProtocol";
			break;
		case KlassischerServer:
			routingProtocol = "StandardRoutingProtocol";
			break;
		case PublishAndSubscribe:
			routingProtocol = "PubSubRouting";
			break;
		case SDRP:
			break;
		}
		return routingProtocol;
	}
	
	public static String getDiscoverProtocol (DiscoveryMechanismEnum discMech){
		String discoveryProtocol = "FloodingRequestDiscovery";
		switch (discMech){
		case DistributedKnowledge30:
			discoveryProtocol = "DistributedKnowledgeDiscovery33";
			break;
		case DistributedKnowledge50:
			discoveryProtocol = "DistributedKnowledgeDiscovery50";
			break;
		case FloodingPublish:
			discoveryProtocol = "FloodingPublishDiscovery";
			break;
		case FloodingRequest:
			discoveryProtocol = "FloodingRequestDiscovery";
			break;
		case Gnutella:
			discoveryProtocol = "GnutellaDiscovery";			
			break;
		case GnutellaStandardRouting:
			discoveryProtocol = "GnutellaDiscovery";			
			break;
		case KlassischerServer:
			discoveryProtocol = "ClassicalServerDiscovery";
			break;
		case PublishAndSubscribe:
			discoveryProtocol = "PubSubDiscovery";
			break;
		case SDRP:
			break;
		}
		return discoveryProtocol;		
	}
}
